home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Purity
/
Purity #23 (1994-02-10)(Diesel)(DE)[WB].zip
/
Purity #23 (1994-02-10)(Diesel)(DE)[WB].adf
/
Tools
/
ToolsUnit.DOK
< prev
next >
Wrap
Text File
|
1994-01-20
|
13KB
|
847 lines
__________________________________________________________________
Anleitung zur Unit Tools
__________________________________________________________________
Die Unit Tools ist ©1993 by Björn Schotte ("BOMBERSOFT")
Sie ist GIFTWARE, d.h., wenn sie euch gefällt, dann könnt Ihr mir
einen Obulus senden, z.B.: Geld, Postkarten aus dem Urlaub, Schokolade,
PD-DisX etc.
Einige Routinen aus dieser Unit kommen von:
- Røgersøft (Michael Klein): ThanX Michael für die tollen Prozeduren:
gbu, uline, umrandung, zeichnetext, datum, uhrzeit, ...
Ich habe seit der Vorversion die Tool-Unit in mehrere Units aufgesplittet:
- ArpSupport: Routinen für die Arp-Library
- ToolTime : Routinen für Datum und Zeit
- ToolGad : Routinen für GadgetBorder zeichnen etc.
- ToolPar : Routinen für das PAR:-Device
Diese vier Units befinden sich im Unit-Ordner MyTools (In eigenen
Programmen dann einfach "FROM MyTools USES ToolGad;" einbinden !!).
Das Tools-Unit integriert seinerseits alle vier Units; wer also
ALLES braucht, einfach Tools einbinden und fertig !!
So, das wäre das offizielle...
And now, the documentation of the routines:
-------------------------------------
NAME
UniPrint
SYNOPSIS
UniPrint(win,txt,backgroundcolor,foregroundcolor,xcoord,ycoord,
shadow,center,alternative_font);
win:^Window;
txt:STRING;
backgroundcolor,foregroundcolor,xcoord,ycoord:INTEGER;
shadow,center:BOOLEAN;
alternative_font:p_TextAttr;
ERKLÄRUNG
Gibt einen Text in einem Fenster aus. Dieser Text kann wahlweise
schattiert bzw. zentriert dargestellt werden; die Vorder- und
Hintergrundfarbe ist beliebig einstellbar; Bei Zentrierung kann
für xcoord 0 übergeben werden, da die Koordinate ja abhängig von
der Fenstergröße ist. Mit alternative_font wird ein Pointer auf
eine TextAttr-Struktur übergeben (Bei einem Font, wie z.B. opal,
muß dieser natürlich vorher geöffnet werden (Per OpenDiskFont) !).
-------------------------------------
NAME
FindWBScreen
SYNOPSIS
Scr := FindWBScreen;
Scr:^Screen;
ERKLÄRUNG
Sucht den Workbench-Screen in der Screen-Liste.
RÜCKGABE
Zeiger auf den Workbench-Screen.
-------------------------------------
NAME
datum
SYNOPSIS
datum(jahr,monat,tag);
jahr, monat, tag:LONG;
ERKLÄRUNG
Legt das Datum in die Variablen jahr, monat, tag ab.
HINWEIS: Diese Prozedur stammt von Røgersøft !!
-------------------------------------
NAME
uhrzeit
SYNOPSIS
uhrzeit(std,min,sek);
std,min,sek:BYTE;
ERKLÄRUNG
Legt die Uhrzeit in die drei Variablen ab.
HINWEIS: Diese Prozedur stammt von Røgersøft !!
-------------------------------------
NAME
GetRadioButtonImage
SYNOPSIS
GetRadioButtonImage(RBImage1, RBImage2);
RBImage1, RBImage2 : Image;
ERKLÄRUNG
Legt die Image-Daten für den Radio-Button in die Variablen
ab.
-------------------------------------
NAME
GetCheckBoxImage
SYNOPSIS
GetCheckBoxImage(CBImage1, CBImage2);
CBImage1,CBImage2:Image;
ERKLÄRUNG
Legt die Image-Daten für die CheckBox (neu unter OS2.X) in die
Variablen ab (Nun können auch OS1.3-Benutzer in den Genuß der
neuen Gadgets kommen !).
-------------------------------------
NAME
GetCycleImage
SYNOPSIS
GetCycleImage(CycleImage);
CycleImage:Image;
ERKLÄRUNG
Legt die Image-Daten für das Cycle-Gadget in die Variablen ab.
-------------------------------------
NAME
filereq
SYNOPSIS
filereq(titel,datei,pfad:STRING);
titel:STR;
datei,pfad:STRING; { Als Variablen übergeben !! }
ERKLÄRUNG
Öffnet den FileRequester der arp.library und retourniert das
Ergebnis in -> datei.
HINWEIS: Auch diese Prozedur stammt von Michael Klein !
-------------------------------------
NAME
umrandung
SYNOPSIS
umrandung(wo,c1,c2,x,y,breite,höhe);
wo:^Window;
c1,c2,x,y,breite,höhe:INTEGER;
ERKLÄRUNG
Diese Prozedur (und die nächsten 4) dürften wohl allen bekannt sein:
es sind die von Michael Klein ! Also, umrandung zeichnet einen 3D-
Border im angegebenen Fenster.
-------------------------------------
NAME
gbord
SYNOPSIS
gbord(wo,was);
wo:^Window;
was:^Gadget;
ERKLÄRUNG
Zeichnet einen 3D-Border zum Gadget.
-------------------------------------
NAME
zeichnetext
SYNOPSIS
zeichnetext(c1,c2,wo,x,y,text);
c1,c2:SHORT;
wo:^Window;
x,y:INTEGER;
text:STRING;
ERKLÄRUNG
Zeichnet einen Text in das Window. c1 und c2 sind die Farben,
x und y die Koordinaten, text der eigentliche Text. Ich persönlich
finde die Prozedur gut, aber ich glaube, mein UniPrint ist viel,
viel besser (zeichnetext ist eigentlich nur aus Kompatibilitäts-
gründen implementiert worden !).
-------------------------------------
NAME
uline
SYNOPSIS
uline(wo,was,c);
wo:^Window;
was:p_Gadget;
c:CHAR;
ERKLÄRUNG
Unterstreicht den im Gadget-Text vorkommenden Buchstaben c.
-------------------------------------
NAME
gbu
SYNOPSIS
gbu(wo,was,c);
wo:^Window;
was:^Gadget;
c:CHAR;
ERKLÄRUNG
Zeichnet einen 3D-Border um das Gadget und unterstreicht den im
Gadget-Text vorkommenden Buchstaben c.
-------------------------------------
NAME
stringumrandung
SYNOPSIS
stringumrandung(wo,gad,c1,c2);
wo:p_Window;
gad:p_Gadget;
c1,c2:WORD;
ERKLÄRUNG
StringUmrandung (übrigens von mir) zeichnet einen String-Border
um das Gadget in den Farben c1,c2 (Bei OS2.0 Farben: c1 mit 1 und
c2 mit 2 übergeben !).
-------------------------------------
NAME
OpenArp
SYNOPSIS
Bool := OpenArp(version);
Bool : BOOLEAN;
version : INTEGER;
ERKLÄRUNG
Versucht, die arp.library mit der übergebenen Version zu öffnen.
RÜCKGABE
Falls das Öffnen erfolgreich verlief, hat Bool den Wert TRUE, an-
sonsten FALSE.
-------------------------------------
NAME
CloseArp
SYNOPSIS
CloseArp;
ERKLÄRUNG
Falls die arp.library schon geöffnet wurde, wird sie geschlossen.
-------------------------------------
NAME
Exist
SYNOPSIS
Bool := Exist(datei);
Bool:BOOLEAN;
datei:STRING;
ERKLÄRUNG
Versucht, die angegebene Datei zu finden.
RÜCKABE
TRUE, falls die Datei gefunden werden konnte, ansonsten FALSE.
-------------------------------------
NAME
Maus
SYNOPSIS
Maus(MouseOnOff);
MouseOnOff : BOOLEAN;
ERKLÄRUNG
Schaltet, je nachdem, welchen Wert MouseOnOff hat (TRUE oder FALSE),
den Mauszeiger an- bzw. aus.
Dies wird insofern bewerkstelligt, daß das Hardware-Register ab
$DFF096 auf 32 gestellt wird (Maus aus) bzw. auf den alten Wert (Maus
an).
BUGS
Funktioniert (hab`s selbst ausprobiert), bei Mausblankern nicht
(bei meinem Proggy "MagicBlank" jedenfalls nicht !!) !!
-------------------------------------
NAME
ToggleBool
SYNOPSIS
ToggleBool(Boolsche);
Boolsche:BOOLEAN
ERKLÄRUNG
Wechselt den Wert von Boolsche in TRUE bzw. in FALSE.
-------------------------------------
NAME
Upper
SYNOPSIS
Upper(MakeUpper);
MakeUpper:STRING;
ERKLÄRUNG
Wandelt alle Buchstaben von MakeUpper in Großbuchstaben.
(Beispiel: xx:="hallo"; MakeUpper(xx); Writeln(xx);
[xx enthält dann: "HALLO" !!])
-------------------------------------
NAME
RefreshGadget
SYNOPSIS
RefreshGadget(wo,was,req);
wo:p_Window;
was:p_Gadget;
req:p_Requester;
ERKLÄRUNG
Refresht ein einzelnes (!) Gadget auf dem jeweiligen Window im
jeweiligen Requester (kein Requester -> req zeigt auf NIL).
-------------------------------------
NAME
GetLongInt
SYNOPSIS
Value:=GetLongInt(gad);
Value:LONG;
gad:p_Gadget;
ERKLÄRUNG
Bringt den LongInt-Wert des Gadgets gad in Erfahrung.
RÜCKGABE
Der LongInt-Wert aus der SpecialInfo-Struktur des Gadgets.
-------------------------------------
NAME
SetLongInt
SYNOPSIS
SetLongInt(gad,Value);
gad:p_Gadget;
Value:LONG;
ERKLÄRUNG
Setzt den Wert Value in die SpecialInfo-Struktur des Gadgets.
Das Gadget wird nicht refreshed !!
-------------------------------------
NAME
GetString
SYNOPSIS
Stri := GetString(^gad);
Stri:STRING;
gad : Gadget;
ERKLÄRUNG
Liefert den "Inhalt" eines StringGadgets.
-------------------------------------
NAME
SetString
SYNOPSIS
SetString(gad,Stri);
Stri:STRING;
gad:GADGET;
ERKLÄRUNG
Setzt den Text Stri in die SpecialInfo-Struktur des StringGadgets
gad ein.
-------------------------------------
NAME
MenuNum
SYNOPSIS
MenuNumber := MenuNum(code);
MenuNumber:CARDINAL;
code:LONGINT;
ERKLÄRUNG
Bringt die Menü-Nummer in Erfahrung, in der ein Item bzw.
SubItem angewählt wurde (ACHTUNG: Das erste Menü erhält die
Nummer 0, das zweite die Nummer 1, ...).
Code ist der Inhalt von der IntuiMessage (z.B.: code:=msg^.Code;
MenuNumber:=MenuNum(code); <- falls msg^.Class = MENUPICK !!).
RÜCKGABE
Die Menünummer.
-------------------------------------
NAME
ItemNum
SYNOPSIS
ItemNumber := ItemNum(code);
ItemNumber:CARDINAL;
code:LONGINT;
ERKLÄRUNG
Bringt den Menüpunkt in Erfahrung. Übergeben wird der Code
der IntuiMessage-Struktur.
RÜCKGABE
Nummer des Menüpunktes, der angewählt wurde.
-------------------------------------
NAME
SubNum
SYNOPSIS
SubItemNumber := SubNum(code);
SubItemNumber:CARDINAL;
code:LONGINT;
ERKLÄRUNG
Bringt den Untermenüpunkt, der angewählt wurd, in Erfahrung.
code: siehe oben.
RÜCKGABE
Die Nummer des Untermenüpunktes (wie bei MenuNum und ItemNum
beginnt auch hier der erste Untermenüpunkt mit der Nummer 0 !!).
-------------------------------------
NAME
Zins
SYNOPSIS
ZinsBetrag := Zins(Kapital,Prozentsatz,Tage);
ZinsBetrag,Kapital,Prozentsatz:REAL;
Tage:INTEGER;
ERKLÄRUNG
Rechnet den Zinsbetrag aus den übergebenen Daten aus.
RÜCKGABE
Zinsbetrag.
-------------------------------------
NAME
Kapital
SYNOPSIS
Das_Kapital:=Kapital(Zins,Prozentsatz,Tage);
Das_Kapital,
Zins,
Prozentsatz : REAL;
Tage : INTEGER;
ERKLÄRUNG
Errechnet sich das Kapital aus dem übergebenen Zins, dem
Prozentsatz und der Anlegzeit in Tagen.
RÜCKGABE
Das Kapital.
-------------------------------------
FUNCTION Zinssatz(Z,K:REAL; T:INTEGER):REAL;
NAME
Zinssatz
SYNOPSIS
Prozentsatz := Zinssatz(Zins,Kapital,Tage);
Prozentsatz,
Zins,
Kapital : REAL;
Tage : INTEGER;
ERKLÄRUNG
Errechnet sich aus den übergebenen Daten den Prozentsatz.
RÜCKGABE
Der Prozentsatz (z.B. 7.5 [%]).
-------------------------------------
NAME
Tage
SYNOPSIS
Anzahl_Der_Tage := Tage(Zins,Kapital,Prozent);
Anzahl_Der_Tage : INTEGER;
Zins,
Kapital,
Prozent : REAL;
ERKLKÄRUNG
Errechnet sich die Anzahl der Tage.
RÜCKGABE
Die Tage.
-------------------------------------
NAME
ggT
SYNOPSIS
Größter_Gemeinsamer_Teiler := ggT(Zahl_A,Zahl_B);
Größter_Gemeinsamer_Teiler,
Zahl_A,
Zahl_B : LONG;
ERKLÄRUNG
Berechnet den größten gemeinsamen Teiler zweier Zahlen.
RÜCKGABE
Der größte gemeinsame Teiler.
-------------------------------------
NAME
kgV
SYNOPSIS
k_g_V := kgV(a,b);
k_g_V,a,b:LONG;
ERKLÄRUNG
Berechnet das kleinste gemeinsame Vielfache zweier Zahlen.
RÜCKGABE
Das kleinste gemeinsame Vielfache.
-------------------------------------
NAME
Potenz
SYNOPSIS
Pot := Potenz(argument, hoch)
Pot,argument,hoch:REAL;
ERKLÄRUNG
Da es in Pascal keine Funktion zur Potenz zweier Zahlen gibt,
hier ist eine: Beispiel für eine Potenz: 3³ (3 hoch 3).
RÜCKGABE
Die Potenz (im Beispiel: 27)
-------------------------------------
NAME
SetLRand
SYNOPSIS
SetLRand(VAR lst,LRand);
lst : Text;
LRand: INTEGER;
ERKLÄRUNG
Setzt beim PAR:-Device den linken Rand. Übergeben wird die
Text-Variable, mit der per ReWrite(lst,"PAR:"); das Device
geöffnet wird, und den linken Rand.
-------------------------------------
NAME
SetRRand
SYNOPSIS
SetRRand(VAR lst,RRand);
lst : Text;
RRand : INTEGER;
ERKLÄRUNG
Setzt den rechten Rand.
-------------------------------------
NAME
SetAbstand
SYNOPSIS
SetAbstand(VAR lst, Abstand);
lst : Text;
Abstand : 0..2;
ERKLÄRUNG
Setzt den Zeilenabstand: Abstand 0: Zeilenabstand 1/8 Zoll
Abstand 1: Zeilenabstand 7/72 Zoll
Abstand 2: Zeilenabstand 1/6 Zoll
-------------------------------------
NAME
PapierendeSensor
SYNOPSIS
PapierEndeSensor(bool);
bool : BOOLEAN;
ERKLÄRUNG:
bool := TRUE -> PapierendeSensor wird aktiviert
bool := FALSE -> PapierendeSensor wird deaktiviert
-------------------------------------
NAME
Initialisize
SYNOPSIS
Initialisize(VAR lst);
lst : Text;
ERKLÄRUNG
Initialisiert den Drucker.
-------------------------------------
Ende ...